


<!DOCTYPE html>
<html lang="en">
  <head>
    
<meta charset="utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no, viewport-fit=cover"/>
<meta name="description" content="Alphabetical list of all GoJS samples."/><link rel="stylesheet" href="../assets/css/style.css"/> 
<!-- Copyright 1998-2021 by Northwoods Software Corporation. -->    <title>All GoJS Samples</title>
    <link rel="stylesheet" href="../assets/css/prism.css"  />
  </head>

  <body>
  <nav id="navTop" class="w-full z-30 top-0 text-white bg-nwoods-primary">
    <div class="w-full container max-w-screen-lg mx-auto flex flex-wrap sm:flex-nowrap items-center justify-between mt-0 py-2">
      <div class="md:pl-4">
        <a class="text-white hover:text-white no-underline hover:no-underline
        font-bold text-2xl lg:text-4xl rounded-lg hover:bg-nwoods-secondary " href=".">
          <h1 class="mb-0 p-1 ">GoJS</h1>
        </a>
      </div>
      <button id="topnavButton" class="rounded-lg sm:hidden focus:outline-none focus:ring" aria-label="Navigation">
        <svg fill="currentColor" viewBox="0 0 20 20" class="w-6 h-6">
          <path id="topnavOpen" fill-rule="evenodd" d="M3 5a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zM3 10a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zM9 15a1 1 0 011-1h6a1 1 0 110 2h-6a1 1 0 01-1-1z" clip-rule="evenodd"></path>
          <path id="topnavClosed" class="hidden" fill-rule="evenodd" d="M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z" clip-rule="evenodd"></path>
        </svg>
      </button>
      <div id="topnavList" class="hidden lg:text-base sm:block items-center w-auto mt-0 text-white p-0 z-20">
        <ul class="list-reset list-none font-semibold flex justify-end flex-wrap sm:flex-nowrap items-center px-0 pb-0">
          <li class="p-1 sm:p-0"><a class="topnav-link" href="../learn/">Learn</a></li>
          <li class="p-1 sm:p-0"><a class="topnav-link" href="../samples/">Samples</a></li>
          <li class="p-1 sm:p-0"><a class="topnav-link" href="../intro/">Intro</a></li>
          <li class="p-1 sm:p-0"><a class="topnav-link" href="../api/">API</a></li>
          <li class="p-1 sm:p-0"><a class="topnav-link" href="https://www.nwoods.com/products/register.html">Register</a></li>
          <li class="p-1 sm:p-0"><a class="topnav-link" href="../download.html">Download</a></li>
          <li class="p-1 sm:p-0"><a class="topnav-link" href="https://forum.nwoods.com/c/gojs/11">Forum</a></li>
          <li class="p-1 sm:p-0"><a class="topnav-link" href="https://www.nwoods.com/contact.html"
           target="_blank" rel="noopener" onclick="getOutboundLink('https://www.nwoods.com/contact.html', 'contact');">Contact</a></li>
          <li class="p-1 sm:p-0"><a class="topnav-link" href="https://www.nwoods.com/sales/index.html"
           target="_blank" rel="noopener" onclick="getOutboundLink('https://www.nwoods.com/sales/index.html', 'buy');">Buy</a></li>
        </ul>
      </div>
    </div>
    <hr class="border-b border-gray-600 opacity-50 my-0 py-0" />
  </nav>
    
    <div class="container max-w-5xl mx-auto mb-8">
      
      
      <div class="pt-4 px-2 lg:px-4 pb-16 w-full overflow-hidden">
  
  
  
  
  <h1>Samples and Extensions</h1>
  <p>
    Below is a list of every <a href="../index.html">GoJS</a> sample and extension.
    See the <a href="index.html">samples index</a> for a subset of this list with screenshots and short descriptions.
  </p>

  <h2>Samples</h2>
  <p>
    These are in the <code>samples/</code> directory.
    Most are stand-alone apps, but a few depend on extensions and/or on common third-party libraries.
    Remember that the GoJS library does not depend on any other library.
  </p>
  <ul>
    <li><a href="absolute.html">absolute.html</a></li>
    <li><a href="addRemoveColumns.html">addRemoveColumns.html</a></li>
    <li><a href="addToPalette.html">addToPalette.html</a></li>
    <li><a href="adornmentButtons.html">adornmentButtons.html</a></li>
    <li><a href="animatedFocus.html">animatedFocus.html</a></li>
    <li><a href="arrowheads.html">arrowheads.html</a></li>
    <li><a href="barCharts.html">barCharts.html</a></li>
    <li><a href="basic.html">basic.html</a></li>
    <li><a href="beatPaths.html">beatPaths.html</a></li>
    <li><a href="belts.html">belts.html</a></li>
    <li><a href="blockEditor.html">blockEditor.html</a></li>
    <li><a href="candlestickCharts.html">candlestickCharts.html</a></li>
    <li><a href="canvases.html">canvases.html</a></li>
    <li><a href="classHierarchy.html">classHierarchy.html</a></li>
    <li><a href="cLayout.html">cLayout.html</a></li>
    <li><a href="comments.html">comments.html</a></li>
    <li><a href="conceptMap.html">conceptMap.html</a></li>
    <li><a href="connectionBoxNode.html">connectionBoxNode.html</a></li>
    <li><a href="constantSize.html">constantSize.html</a></li>
    <li><a href="contentAlign.html">contentAlign.html</a></li>
    <li><a href="controlGauges.html">controlGauges.html</a></li>
    <li><a href="curviness.html">curviness.html</a></li>
    <li><a href="customAnimations.html">customAnimations.html</a></li>
    <li><a href="customContextMenu.html">customContextMenu.html</a></li>
    <li><a href="customExpandCollapse.html">customExpandCollapse.html</a></li>
    <li><a href="customTextEditingTool.html">customTextEditingTool.html</a></li>
    <li><a href="dataFlow.html">dataFlow.html</a></li>
    <li><a href="dataFlowVertical.html">dataFlowVertical.html</a></li>
    <li><a href="dataVisualization.html">dataVisualization.html</a></li>
    <li><a href="decisionTree.html">decisionTree.html</a></li>
    <li><a href="distances.html">distances.html</a></li>
    <li><a href="DOMTree.html">DOMTree.html</a></li>
    <li><a href="donutCharts.html">donutCharts.html</a></li>
    <li><a href="doubleCircle.html">doubleCircle.html</a></li>
    <li><a href="doubleTree.html">doubleTree.html</a></li>
    <li><a href="dragDropFields.html">dragDropFields.html</a></li>
    <li><a href="draggableLink.html">draggableLink.html</a></li>
    <li><a href="draggablePorts.html">draggablePorts.html</a></li>
    <li><a href="dragOutFields.html">dragOutFields.html</a></li>
    <li><a href="dragUnoccupied.html">dragUnoccupied.html</a></li>
    <li><a href="dynamicPieChart.html">dynamicPieChart.html</a></li>
    <li><a href="dynamicPorts.html">dynamicPorts.html</a></li>
    <li><a href="entityRelationship.html">entityRelationship.html</a></li>
    <li><a href="euler.html">euler.html</a></li>
    <li><a href="familyTree.html">familyTree.html</a></li>
    <li><a href="familyTreeJP.html">familyTreeJP.html</a></li>
    <li><a href="faultTree.html">faultTree.html</a></li>
    <li><a href="fdLayout.html">fdLayout.html</a></li>
    <li><a href="flowBuilder.html">flowBuilder.html</a></li>
    <li><a href="flowchart.html">flowchart.html</a></li>
    <li><a href="flowgrammer.html">flowgrammer.html</a></li>
    <li><a href="friendWheel.html">friendWheel.html</a></li>
    <li><a href="gameOfLife.html">gameOfLife.html</a></li>
    <li><a href="gantt.html">gantt.html</a></li>
    <li><a href="genogram.html">genogram.html</a></li>
    <li><a href="gestureBehavior.html">gestureBehavior.html</a></li>
    <li><a href="gLayout.html">gLayout.html</a></li>
    <li><a href="grafcet.html">grafcet.html</a></li>
    <li><a href="grouping.html">grouping.html</a></li>
    <li><a href="hoverButtons.html">hoverButtons.html</a></li>
    <li><a href="htmlDragDrop.html">htmlDragDrop.html</a></li>
    <li><a href="htmlInteraction.html">htmlInteraction.html</a></li>
    <li><a href="htmlLightBoxContextMenu.html">htmlLightBoxContextMenu.html</a></li>
    <li><a href="icons.html">icons.html</a></li>
    <li><a href="incrementalTree.html">incrementalTree.html</a></li>
    <li><a href="instrumentGauge.html">instrumentGauge.html</a></li>
    <li><a href="interactiveForce.html">interactiveForce.html</a></li>
    <li><a href="IVRtree.html">IVRtree.html</a></li>
    <li><a href="jQueryDragDrop.html">jQueryDragDrop.html</a></li>
    <li><a href="kanban.html">kanban.html</a></li>
    <li><a href="kittenMonitor.html">kittenMonitor.html</a></li>
    <li><a href="ldLayout.html">ldLayout.html</a></li>
    <li><a href="leaflet.html">leaflet.html</a></li>
    <li><a href="linksToLinks.html">linksToLinks.html</a></li>
    <li><a href="localView.html">localView.html</a></li>
    <li><a href="logicCircuit.html">logicCircuit.html</a></li>
    <li><a href="macros.html">macros.html</a></li>
    <li><a href="magnifier.html">magnifier.html</a></li>
    <li><a href="mindMap.html">mindMap.html</a></li>
    <li><a href="minimal.html">minimal.html</a></li>
    <li><a href="minimalBlob.html">minimalBlob.html</a></li>
    <li><a href="minimalSvg.html">minimalSvg.html</a></li>
    <li><a href="multiArrow.html">multiArrow.html</a></li>
    <li><a href="multiColorLinks.html">multiColorLinks.html</a></li>
    <li><a href="multiNodePathLinks.html">multiNodePathLinks.html</a></li>
    <li><a href="navigation.html">navigation.html</a></li>
    <li><a href="network.html">network.html</a></li>
    <li><a href="orgChartAssistants.html">orgChartAssistants.html</a></li>
    <li><a href="orgChartEditor.html">orgChartEditor.html</a></li>
    <li><a href="orgChartExtras.html">orgChartExtras.html</a></li>
    <li><a href="orgChartStatic.html">orgChartStatic.html</a></li>
    <li><a href="pageFlow.html">pageFlow.html</a></li>
    <li><a href="panelLayout.html">panelLayout.html</a></li>
    <li><a href="parseTree.html">parseTree.html</a></li>
    <li><a href="pathAnimation.html">pathAnimation.html</a></li>
    <li><a href="PERT.html">PERT.html</a></li>
    <li><a href="pieCharts.html">pieCharts.html</a></li>
    <li><a href="pinchResizing.html">pinchResizing.html</a></li>
    <li><a href="pipes.html">pipes.html</a></li>
    <li><a href="pipeTree.html">pipeTree.html</a></li>
    <li><a href="planogram.html">planogram.html</a></li>
    <li><a href="processFlow.html">processFlow.html</a></li>
    <li><a href="productionEditor.html">productionEditor.html</a></li>
    <li><a href="productionProcess.html">productionProcess.html</a></li>
    <li><a href="radial.html">radial.html</a></li>
    <li><a href="radialAdornment.html">radialAdornment.html</a></li>
    <li><a href="radialPartition.html">radialPartition.html</a></li>
    <li><a href="records.html">records.html</a></li>
    <li><a href="regrouping.html">regrouping.html</a></li>
    <li><a href="regroupingTreeView.html">regroupingTreeView.html</a></li>
    <li><a href="relationships.html">relationships.html</a></li>
    <li><a href="require.html">require.html</a></li>
    <li><a href="roundedGroups.html">roundedGroups.html</a></li>
    <li><a href="ruleredDiagram.html">ruleredDiagram.html</a></li>
    <li><a href="sankey.html">sankey.html</a></li>
    <li><a href="scrollModes.html">scrollModes.html</a></li>
    <li><a href="seatingChart.html">seatingChart.html</a></li>
    <li><a href="selectableFields.html">selectableFields.html</a></li>
    <li><a href="selectablePorts.html">selectablePorts.html</a></li>
    <li><a href="sequenceDiagram.html">sequenceDiagram.html</a></li>
    <li><a href="sequentialFunction.html">sequentialFunction.html</a></li>
    <li><a href="shapes.html">shapes.html</a></li>
    <li><a href="sharedStates.html">sharedStates.html</a></li>
    <li><a href="shopFloorMonitor.html">shopFloorMonitor.html</a></li>
    <li><a href="singlePage.html">singlePage.html</a></li>
    <li><a href="spacingZoom.html">spacingZoom.html</a></li>
    <li><a href="sparklineGraphs.html">sparklineGraphs.html</a></li>
    <li><a href="spreadsheet.html">spreadsheet.html</a></li>
    <li><a href="stateChart.html">stateChart.html</a></li>
    <li><a href="stateChartIncremental.html">stateChartIncremental.html</a></li>
    <li><a href="svgDataUrl.html">svgDataUrl.html</a></li>
    <li><a href="swimBands.html">swimBands.html</a></li>
    <li><a href="swimLanes.html">swimLanes.html</a></li>
    <li><a href="swimLanesVertical.html">swimLanesVertical.html</a></li>
    <li><a href="systemDynamics.html">systemDynamics.html</a></li>
    <li><a href="tabs.html">tabs.html</a></li>
    <li><a href="taperedLinks.html">taperedLinks.html</a></li>
    <li><a href="thermometer.html">thermometer.html</a></li>
    <li><a href="tiger.html">tiger.html</a></li>
    <li><a href="timeline.html">timeline.html</a></li>
    <li><a href="tLayout.html">tLayout.html</a></li>
    <li><a href="tournament.html">tournament.html</a></li>
    <li><a href="treeLoadAnimation.html">treeLoadAnimation.html</a></li>
    <li><a href="treeMapper.html">treeMapper.html</a></li>
    <li><a href="treeView.html">treeView.html</a></li>
    <li><a href="triStateCheckBoxTree.html">triStateCheckBoxTree.html</a></li>
    <li><a href="twoDiagrams.html">twoDiagrams.html</a></li>
    <li><a href="twoHalves.html">twoHalves.html</a></li>
    <li><a href="umlClass.html">umlClass.html</a></li>
    <li><a href="updateDemo.html">updateDemo.html</a></li>
    <li><a href="virtualized.html">virtualized.html</a></li>
    <li><a href="virtualizedForceLayout.html">virtualizedForceLayout.html</a></li>
    <li><a href="virtualizedTree.html">virtualizedTree.html</a></li>
    <li><a href="virtualizedTreeLayout.html">virtualizedTreeLayout.html</a></li>
    <li><a href="visualTree.html">visualTree.html</a></li>
    <li><a href="visualTreeGrouping.html">visualTreeGrouping.html</a></li>
    <li><a href="vue.html">vue.html</a></li>
    <li><a href="wordcloud.html">wordcloud.html</a></li>
  </ul>

  <h2>Extensions</h2>
  <p>
    There are three extension directories.
  </p>
  <ul>
    <li><code>extensions/</code>, loadable in a simple &lt;script&gt; tag</li>
    <li><code>extensionsTS/</code>, implemented in TypeScript, compiled as a UMD module</li>
    <li><code>extensionsJSM/</code>, using <code>go-module.js</code>, compiled as an ES6 module</li>
  </ul>
  <p>
    In all cases you should copy the extension code into your own project and make sure that any <code>require</code> or <code>import</code> is adjusted to fit your environment.
    Subtle errors can occur if your app loads the GoJS library more than once, especially if they are of different versions.
  </p>

  <h3>Layout Extensions:</h3>
  <ul>
    <li><a href="../extensions/Arranging.html">Arranging.html</a>, using <a href="../extensions/ArrangingLayout.js">ArrangingLayout.js</a></li>
    <li><a href="doubleTree.html">DoubleTree.html</a>, using <a href="../extensions/DoubleTreeLayout.js">DoubleTreeLayout.js</a></li>
    <li><a href="../extensions/Fishbone.html">Fishbone.html</a>, using <a href="../extensions/FishboneLayout.js">FishboneLayout.js</a></li>
    <li><a href="../extensions/PackedHierarchy.html">PackedHierarchy.html, using <a href="../extensionsTS/PackedLayout.js">PackedLayout.js</a></li>
    <li><a href="../extensions/PackedLayout.html">PackedLayout.html</a>, using <a href="../extensionsTS/PackedLayout.js">PackedLayout.js</a></li>
    <li><a href="../extensions/Parallel.html">Parallel.html</a>, using <a href="../extensions/ParallelLayout.js">ParallelLayout.js</a></li>
    <li><a href="../extensions/Serpentine.html">Serpentine.html</a>, using <a href="../extensions/SerpentineLayout.js">SerpentineLayout.js</a></li>
    <li><a href="../extensions/Spiral.html">Spiral.html</a>, using <a href="../extensions/SpiralLayout.js">SpiralLayout.js</a></li>
    <li><a href="../extensions/SwimLaneLayout.html">SwimLaneLayout.html, using <a href="../extensionsTS/SwimLaneLayout.js">SwimLaneLayout.js</a></li>
    <li><a href="../extensions/Table.html">Table.html</a>, using <a href="../extensions/TableLayout.js">TableLayout.js</a></li>
    <li><a href="../extensions/TreeMap.html">TreeMap.html</a>, using <a href="../extensions/TreeMapLayout.js">TreeMapLayout.js</a></li>
    <li><a href="../extensionsTS/VirtualizedPacked.html">VirtualizedPacked.html</a>, using <a href="../extensionsTS/VirtualizedPackedLayout.js">VirtualizedPackedLayout.js</a></li>
  </ul>
  <ul>
    <li><a href="../extensions/PanelLayoutFlow.html">PanelLayoutFlow.html</a>, using <a href="../extensions/PanelLayoutFlow.js">PanelLayoutFlow.js</a></li>
  </ul>

  <h3>Tool Extensions:</h3>
  <ul>
    <li><a href="../extensions/ColumnResizing.html">ColumnResizing.html</a>, using <a href="../extensions/ColumnResizingTool.js">ColumnResizingTool.js</a></li>
    <li><a href="../extensions/CurvedLinkReshaping.html">CurvedLinkReshaping.html</a> using <a href="../extensions/CurvedLinkReshapingTool.js">CurvedLinkReshapingTool.js</a></li>
    <li><a href="../extensions/DragCreating.html">DragCreating.html</a> using <a href="../extensions/DragCreatingTool.js">DragCreatingTool.js</a></li>
    <li><a href="../extensions/DragZooming.html">DragZooming.html</a> using <a href="../extensions/DragZoomingTool.js">DragZoomingTool.js</a></li>
    <li><a href="../extensions/FreehandDrawing.html">FreehandDrawing.html</a> using <a href="../extensions/FreehandDrawingTool.js">FreehandDrawingTool.js</a></li>
    <li><a href="../extensions/GeometryReshaping.html">GeometryReshaping.html</a> using <a href="../extensions/GeometryReshapingTool.js">GeometryReshapingTool.js</a></li>
    <li><a href="../extensions/GuidedDragging.html">GuidedDragging.html</a> using <a href="../extensions/GuidedDraggingTool.js">GuidedDraggingTool.js</a></li>
    <li><a href="../extensions/LinkLabelDragging.html">LinkLabelDragging.html</a> using <a href="../extensions/LinkLabelDraggingTool.js">LinkLabelDraggingTool.js</a></li>
    <li><a href="../extensions/LinkLabelOnPathDragging.html">LinkLabelOnPathDragging.html</a> using <a href="../extensions/LinkLabelOnPathDraggingTool.js">LinkLabelOnPathDraggingTool.js</a></li>
    <li><a href="../extensions/LinkShifting.html">LinkShifting.html</a> using <a href="../extensions/LinkShiftingTool.js">LinkShiftingTool.js</a></li>
    <li><a href="../extensions/NodeLabelDragging.html">NodeLabelDragging.html</a> using <a href="../extensions/NodeLabelDraggingTool.js">NodeLabelDraggingTool.js</a></li>
    <li><a href="../extensions/NonRealtimeDragging.html">NonRealtimeDragging.html</a> using <a href="../extensions/NonRealtimeDraggingTool.js">NonRealtimeDraggingTool.js</a></li>
    <li><a href="../extensions/OrthogonalLinkReshaping.html">OrthogonalLinkReshaping.html</a> using <a href="../extensions/OrthogonalLinkReshapingTool.js">OrthogonalLinkReshapingTool.js</a></li>
    <li><a href="../extensions/OverviewResizing.html">OverviewResizing.html</a> using <a href="../extensions/OverviewResizingTool.js">OverviewResizingTool.js</a></li>
    <li><a href="../extensions/PolygonDrawing.html">PolygonDrawing.html</a> using <a href="../extensions/PolygonDrawingTool.js">PolygonDrawingTool.js</a></li>
    <li><a href="../extensions/PolylineLinking.html">PolylineLinking.html</a> using <a href="../extensions/PolylineLinkingTool.js">PolylineLinkingTool.js</a></li>
    <li><a href="../extensions/PortShifting.html">PortShifting.html</a> using <a href="../extensions/PortShiftingTool.js">PortShiftingTool.js</a></li>
    <li><a href="../extensions/RealtimeDragSelecting.html">RealtimeDragSelecting.html</a> using <a href="../extensions/RealtimeDragSelectingTool.js">RealtimeDragSelectingTool.js</a></li>
    <li><a href="../extensions/Rescaling.html">Rescaling.html</a> using <a href="../extensions/RescalingTool.js">RescalingTool.js</a></li>
    <li><a href="../extensions/ResizeMultiple.html">ResizeMultiple.html</a> using <a href="../extensions/ResizeMultipleTool.js">ResizeMultipleTool.js</a></li>
    <li><a href="../extensions/RotateMultiple.html">RotateMultiple.html</a> using <a href="../extensions/RotateMultipleTool.js">RotateMultipleTool.js</a></li>
    <li><a href="../extensions/SectorReshaping.html">SectorReshaping.html</a> using <a href="../extensions/SectorReshapingTool.js">SectorReshapingTool.js</a></li>
    <li><a href="../extensions/SnapLinkReshaping.html">SnapLinkReshaping.html</a> using <a href="../extensions/SnapLinkReshapingTool.js">SnapLinkReshapingTool.js</a></li>
    <li><a href="../extensions/SpotRotating.html">SpotRotating.html</a> using <a href="../extensions/SpotRotatingTool.js">SpotRotatingTool.js</a></li>
  </ul>

  <h3>CommandHandler Extensions:</h3>
  <ul>
    <li><a href="../extensions/DrawCommandHandler.html">DrawCommandHandler.html</a> using <a href="../extensions/DrawCommandHandler.js">DrawCommandHandler.js</a></li>
    <li><a href="../extensions/LocalStorageCommandHandler.html">LocalStorageCommandHandler.html</a> using <a href="../extensions/LocalStorageCommandHandler.js">LocalStorageCommandHandler.js</a></li>
  </ul>

  <h3>Builder and Link Extensions:</h3>
  <ul>
    <li><a href="../extensions/BalloonLink.html">BalloonLink.html</a> using <a href="../extensions/BalloonLink.js">BalloonLink.js</a></li>
    <li><a href="../extensions/CheckBoxes.html">CheckBoxes.html</a> using predefined "CheckBox"s shown in <a href="../extensions/Buttons.js">Buttons.js</a></li>
    <li><a href="../extensions/Dimensioning.html">Dimensioning.html</a> using <a href="../extensions/DimensioningLink.js">DimensioningLink.js</a></li>
    <li><a href="../extensions/Hyperlink.html">Hyperlink.html</a> using <a href="../extensions/HyperlinkText.js">HyperlinkText.js</a></li>
    <li><a href="../extensions/ParallelRoute.html">ParallelRoute.html</a> using <a href="../extensions/ParallelRouteLink.js">ParallelRouteLink.js</a></li>
    <li><a href="../extensions/ScrollingTable.html">ScrollingTable.html</a> using <a href="../extensions/ScrollingTable.js">ScrollingTable.js</a></li>
    <li><a href="../extensions/TextEditor.html">TextEditor.html</a> using <a href="../extensions/TextEditor.js">TextEditor.js</a> <a href="../extensions/TextEditorRadioButtons.js">TextEditorRadioButtons.js</a> and <a href="../extensions/TextEditorSelectBox.js">TextEditorSelectBox.js</a></li>
  </ul>

  <h3>Miscellaneous Extensions:</h3>
  <ul>
    <li><a href="../extensions/DataInspector.html">DataInspector.html</a> using <a href="../extensions/DataInspector.js">DataInspector.js</a></li>
    <li><a href="../extensions/Robot.html">Robot.html</a> using <a href="../extensions/Robot.js">Robot.js</a></li>
    <li><a href="../extensions/ZoomSlider.html">ZoomSlider.html</a> using <a href="../extensions/ZoomSlider.js">ZoomSlider.js</a></li>
  </ul>

  <h3>Storage Extensions:</h3>
  <ul>
    <li><a href="../projects/storage/samples/GoCloudStorageManager.html">GoCloudStorageManager.html</a> using <a href="../projects/storage/lib/gcs.js">gcs.js</a>; sources at <a href="../projects/storage/src/GoCloudStorageManager.ts">../projects/storage/src/GoCloudStorageManager.ts</a></li>
  <!--
    <li><a href="../projects/storage/samples/GoDropBox.html">GoDropBox.html</a> source at: <a href="../projects/storage/src/GoDropBox.ts">../projects/storage/src/GoDropBox.ts</a></li>
    <li><a href="../projects/storage/samples/GoGoogleDrive.html">GoGoogleDrive.html</a> source at: <a href="../projects/storage/src/GoGoogleDrive.ts">../projects/storage/src/GoGoogleDrive.ts</a></li>
    <li><a href="../projects/storage/samples/GoOneDrive.html">GoOneDrive.html</a> source at: <a href="../projects/storage/src/GoOneDrive.ts">../projects/storage/src/GoOneDrive.ts</a></li>
    <li><a href="../projects/storage/samples/GoLocalStorage.html">GoLocalStorage.html</a> source at: <a href="../projects/storage/src/GoLocalStorage.ts">../projects/storage/src/GoLocalStorage.ts</a></li>
  -->
  </ul>

  <h1>Projects:</h1>
  <ul>
    <li><a href="../projects/floorplannerTS/index.html">new Floor Planner (TypeScript)</a>, in the <code>projects/floorplannerTS/</code> folder</li>
    <li><a href="../projects/floorplanner/FloorPlanner.html">old Floor Planner (JavaScript)</a>, in the <code>projects/floorplanner/</code> folder</li>
    <li><a href="../projects/bpmn/BPMN.html">BPMN Editor</a>, in the <code>projects/bpmn/</code> folder</li>
    <li><a href="../projects/pdf/minimalPDF.html">PDF generator</a>, in the <code>projects/pdf</code> folder</li>
    <li>See more at <a href="../projects/index.html">Projects</a></li>
  </ul>

  <h1>Predefined, built-in functionality:</h1>
  <ul>
    <li><a href="../extensions/Arrowheads.js">Arrowheads.js</a> all shown by <a href="arrowheads.html">arrowheads.html</a></li>
    <li><a href="../extensions/Buttons.js">Buttons.js</a></li>
    <li><a href="../extensions/Figures.js">Figures.js</a> all shown by <a href="shapes.html">shapes.html</a></li>
    <li><a href="../extensions/Templates.js">Templates.js</a></li>
    <li><a href="../extensions/TextEditor.js">TextEditor.js</a></li>
  </ul>
  <p>
    See the <a href="index.html">samples index</a> for a subset of this list with screenshots and short descriptions.
  </p>
      </div>
    </div>
  
  <div class="bg-nwoods-primary">
    <section class="max-w-screen-lg text-white container mx-auto py-2 px-12">
      <p id="version" class="leading-none mb-2 my-4">GoJS</p>
    </section>
  </div><footer class="bg-nwoods-primary text-white">
  <div class="container max-w-screen-lg mx-auto  px-8">
    <div class="w-full py-6">

        <div class="max-w-screen-lg xl:max-w-screen-xl mx-auto px-4 sm:px-6 md:px-8">
          <ul class="text-sm font-medium pb-14 sm:pb-20 grid grid-cols-1 sm:grid-cols-3 gap-y-10">
            <li class="list-none row-span-2">
              <h2 class="text-base font-semibold tracking-wide">GoJS</h2>
              <ul class="list-none space-y-4 md:space-y-1 px-0">
                <li>
                  <a href="../samples/index.html">Samples</a>
                </li>
                <li>
                  <a href="../learn/index.html">Learn</a>
                </li>
                <li>
                  <a href="../intro/index.html">Intro</a>
                </li>
                <li>
                  <a href="../api/index.html">API</a>
                </li>
                <li>
                  <a href="../changelog.html">Changelog</a>
                </li>
                <li>
                  <a href="https://github.com/NorthwoodsSoftware/GoJS">GitHub</a>
                </li>
              </ul>
            </li>
            <li class="list-none row-span-2">
              <h2 class="text-base font-semibold tracking-wide">Support</h2>
              <ul class="list-none space-y-4 md:space-y-1 px-0">
                <li>
                  <a href="https://www.nwoods.com/contact.html"
                  target="_blank" rel="noopener" onclick="getOutboundLink('https://www.nwoods.com/contact.html', 'contact');">Contact</a>
                </li>
                <li>
                  <a href="https://forum.nwoods.com/c/gojs">Forum</a>
                </li>
                <li>
                  <a href="https://www.nwoods.com/app/activate.aspx?sku=gojs">Activate</a>
                </li>
                <li>
                  <a href="https://www.nwoods.com/sales/index.html"
                  target="_blank" rel="noopener" onclick="getOutboundLink('https://www.nwoods.com/sales/index.html', 'buy');">Buy</a>
                </li>
                <li>
                  <a href="https://www.youtube.com/channel/UC9We8EoX596-6XFjJDtZIDg">Videos</a>
                </li>
              </ul>
            </li>
            <li class="list-none row-span-2">
              <h2 class="text-base font-semibold tracking-wide">Company</h2>
              <ul class="list-none space-y-4 md:space-y-1 px-0">
                <li>
                  <a href="https://www.nwoods.com">Northwoods</a>
                </li>
                <li>
                  <a href="https://www.nwoods.com/about.html">About Us</a>
                </li>
                <li>
                  <a href="https://www.nwoods.com/contact.html">Contact Us</a>
                </li>
                <li>
                  <a href="https://twitter.com/northwoodsgo">Twitter</a>
                </li>

              </ul>
            </li>
          </ul>


      <p class="text-sm text-gray-100 md:mb-6">
        Copyright 1998-2021 <a class="text-white" href="https://www.nwoods.com">Northwoods Software</a>
      </p>
    </div>
  </div>
</footer>  </body>

<script async src="https://www.googletagmanager.com/gtag/js?id=UA-1506307-5"></script> 
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date()); gtag('config', 'UA-1506307-5');
  var getOutboundLink = function(url, label) {
    gtag('event', 'click', {
      'event_category': 'outbound',
      'event_label': label,
      'transport_type': 'beacon'
    });
  }

  // topnav
  var topButton = document.getElementById("topnavButton");
  var topnavList = document.getElementById("topnavList");
  topButton.addEventListener("click", function() {
    this.classList.toggle("active");
    topnavList.classList.toggle("hidden");
    document.getElementById("topnavOpen").classList.toggle("hidden");
    document.getElementById("topnavClosed").classList.toggle("hidden");
  });
</script>
  <script src="../assets/js/prism.js"></script>
  <script src="../release/go.js"></script>
  <script src="../assets/js/goDoc.js"></script>
  <script>
    document.addEventListener("DOMContentLoaded", function() {
      if (window.go) {
        var p = document.getElementById('ver');
        if (p !== null) p.textContent = ("Version: " + go.version);
        document.getElementById('version').textContent = "GoJS " + go.version;
      }
      if (window.goDoc) window.goDoc();
    });
  </script>
</html>
